package cn.miju.admin.system.service;

import cn.miju.admin.system.vo.*;
import com.baomidou.mybatisplus.extension.plugins.pagination.Page;

import java.util.List;

/**
 * <pre>
 * 组织管理
 * </pre>
 *
 * @author zhuming
 * @version 1.0.0
 * @since 2023-04-04 16:34
 */
public interface GroupService {
    /**
     * 组织分页查询
     * @param inVO {@link GroupPageInVO}
     * @return {@link Page<GroupPageOutVO>}
     */
    Page<GroupPageOutVO> getPage(GroupPageInVO inVO);

    /**
     * 一级组织树查询
     * @return {@link List<GroupTreeOutVO>}
     */
    List<GroupTreeOutVO> getFirstTree();
    /**
     * 组织树查询
     * @return {@link List<GroupTreeOutVO>}
     */
    List<GroupTreeOutVO> getTree();

    /**
     * 保存
     * @param inVO {@link GroupSaveInVO}
     */
    void save(GroupSaveInVO inVO);

    /**
     * 批量删除
     * @param inVO {@link GroupDeleteInVO}
     */
    void deletes(GroupDeleteInVO inVO);

}
